'use strict';
const {
	verifyToken
} = require("wx-common");

exports.main = async (event, context) => {
  // 从客户端传递的参数中获取 userInfo 和 token
  const { userInfo, token } = event;

  // 在云函数内部处理 token，使用 verifyToken 方法来获取 payload
  const payload = verifyToken(token);

  // 使用 payload 中的 openid 查询用户并更新信息
  const db = uniCloud.database();
  const dbCmd = db.command;
  const dbRes = await db.collection("users").where({
    openid: dbCmd.eq(payload.openid)
  }).update({
    nickName: userInfo.nickName,
    avatarUrl: userInfo.avatarUrl,
    gender: userInfo.gender,
    country: userInfo.country,
    province: userInfo.province,
    city: userInfo.city
  });

  // 返回数据给客户端
  return dbRes.data;
};
